if (screen)
gtk_style_context_set_screen (context, screen);
+
gtk_style_context_set_path (context, path);
style = g_object_new (GTK_TYPE_STYLE,
GtkStyleContextPrivate *priv;
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
- g_return_if_fail (screen == NULL || GDK_IS_SCREEN (screen));
+ g_return_if_fail (GDK_IS_SCREEN (screen));
priv = context->priv;
if (priv->screen == screen)
if (widget->priv->context)
{
+ GdkScreen *screen;
+
_gtk_widget_update_path (widget);
gtk_style_context_set_path (widget->priv->context, widget->priv->path);
- gtk_style_context_set_screen (widget->priv->context,
- gtk_widget_get_screen (widget));
+ screen = gtk_widget_get_screen (widget);
+
+ if (screen)
+ gtk_style_context_set_screen (widget->priv->context, screen);
}
gtk_widget_pop_verify_invariants (widget);
if (G_UNLIKELY (!widget->priv->context))
{
+ GdkScreen *screen;
+
widget->priv->context = g_object_new (GTK_TYPE_STYLE_CONTEXT,
"direction", gtk_widget_get_direction (widget),
NULL);
g_signal_connect (widget->priv->context, "changed",
G_CALLBACK (style_context_changed), widget);
- gtk_style_context_set_screen (widget->priv->context,
- gtk_widget_get_screen (widget));
+ screen = gtk_widget_get_screen (widget);
+
+ if (screen)
+ gtk_style_context_set_screen (widget->priv->context, screen);
_gtk_widget_update_path (widget);
gtk_style_context_set_path (widget->priv->context,